package com.chinaisafe.user.service;

import com.chinaisafe.gateway.client.auth.feign.UaaApi;
import com.chinaisafe.user.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaisafe.user.vo.request.LoginMobileReqVO;
import com.chinaisafe.user.vo.request.SendMobileSmsCodeReqVO;
import com.chinaisafe.user.vo.request.SysUserReqVO;
import com.chinaisafe.user.vo.request.UserCaptChaReqVO;
import com.chinaisafe.user.vo.response.LoginRespVO;
import com.chinaisafe.user.vo.response.SysUserRespVO;

/**
 * SysUserService
 * Description：用户服务类
 *
 * @author xuefu.shu
 * @date 2024-07-12 09:55:54
 */
public interface SysUserService extends IService<SysUser> {
    /**
     * 根据条件获取用户分页列表
     *
     * @param sysUserReqVO 筛选参数
     * @return Page<SysUserRespVO> 分页对象
     * @author xuefu.shu
     * @date 2024-07-12 09:55:54
     */
    IPage<SysUserRespVO> getPageList(SysUserReqVO sysUserReqVO);

    /**
     * 新增用户
     *
     * @param sysUserReqVO 新增参数
     * @return SysUserRespVO 响应参数
     * @author xuefu.shu
     * @date 2024-07-12 09:55:54
     */
    SysUserRespVO add(SysUserReqVO sysUserReqVO);

    /**
     * 根据id编辑用户
     *
     * @param sysUserReqVO 修改参数
     * @return SysUserRespVO 响应参数
     * @author xuefu.shu
     * @date 2024-07-12 09:55:54
     */
    SysUserRespVO update(SysUserReqVO sysUserReqVO);

    /**
     * 新增或修改用户
     *
     * @param sysUserReqVO 编辑修改参数
     * @return SysUserRespVO 响应参数
     * @author xuefu.shu
     * @date 2024-07-12 09:55:54
     */
    SysUserRespVO addOrUpdate(SysUserReqVO sysUserReqVO);

    /**
     * 根据id获取用户详情信息
     *
     * @param sysUserId 数据id
     * @return SysUserRespVO 响应参数
     * @author xuefu.shu
     * @date 2024-07-12 09:55:54
     */
    SysUserRespVO getDetailById(Long sysUserId);

    /**
     * 根据id删除用户
     *
     * @param sysUserIds id数组
     * @author xuefu.shu
     * @date 2024-07-12 09:55:54
     */
    void deleteByIds(Long[] sysUserIds);



}
